<template>
  <div>
    <el-container>
      <el-header class="homeHeader">
        <div class="title" @click="goHome" title="返回首页">
          <i class="el-icon-cloudy"></i>
          云办公
        </div>
        <div>
          <el-button icon="el-icon-bell" type="text" 
            style="font-size: 20px; color: #fff; margin-right: 12px;"
            @click="goChat">
          </el-button>
          <el-dropdown class="userInfo" @command="handleCommand">
            <span class="el-dropdown-link">
              {{user.remark}}
              <img :src="user.userFace">
            </span>
            <el-dropdown-menu slot="dropdown">
              <el-dropdown-item command="userinfo">个人中心</el-dropdown-item>
              <el-dropdown-item command="setting">设置</el-dropdown-item>
              <el-dropdown-item command="logout">注销登录</el-dropdown-item>
            </el-dropdown-menu>
          </el-dropdown>
        </div>
      </el-header>
      <el-container>
        <el-aside width="200px">
          <el-menu router unique-opened>
            <el-submenu :index="index+''"  v-for="(item, index) in routes" :key="index" v-show="!item.hidden">
              <template slot="title"><i :class="item.iconCls" style="color: #409eff;margin-right: 5px"></i>{{item.name}}</template>
              <el-menu-item :index="children.path" v-for="(children, indexj) in item.children" :key="indexj">{{children.name}}</el-menu-item>
            </el-submenu>
          </el-menu>
        </el-aside>
        <el-main>
          <el-breadcrumb v-if="this.$route.path!='/home'">
            <el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
            <el-breadcrumb-item v-if="this.$route.parent">{{this.$route.parent}}</el-breadcrumb-item>
            <el-breadcrumb-item>{{this.$route.name}}</el-breadcrumb-item>
          </el-breadcrumb>
          <div class="homeWelcome" v-else>
            欢迎来到云办公系统
          </div>
          <router-view class="homeRouterView"></router-view>
        </el-main>
      </el-container>
    </el-container>
  </div>
</template>

<script>
export default {
  name: "Home",
  data(){
    return {
      // user: JSON.parse(window.sessionStorage.getItem('user'))
    }
  },
  computed: {
    routes(){
      return this.$store.state.routes
    },
    user(){
      return this.$store.state.currentAdmin;
    }
  },
  methods: {
    handleCommand(command){
      if(command == 'logout'){
        // 确认框
        this.$confirm('此操作将注销登录, 是否继续?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          // 发送退出登录请求
          this.postRequest('/login/dologout');
          // 清空用户信息
          window.sessionStorage.removeItem('tokenStr');
          window.sessionStorage.removeItem('user');
          // 清空vuex中的菜单
          this.$store.commit('initRoutes',[]);
          // 跳转登陆页
          this.$router.replace('/');
        }).catch(() => {
          this.$message({
            type: 'info',
            message: '已取消操作'
          });          
        });
        
      }
      if(command == 'userinfo'){
        this.$router.push('/userinfo')
      }
    },
    goChat(){
      this.$router.push('/chat')
    },
    goHome(){
      this.$router.push('/home')
    }
  }
};
</script>

<style scoped>
  .homeHeader{
    background: #409eff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 15px;
    box-sizing: border-box;
  }

  .homeHeader .title{
    font-size: 30px;
    font-family: 楷体;
    color: #fff;
    font-weight: 500;
    cursor: pointer;
  }

  .userInfo{
    cursor: pointer;
    color: #fff;
    text-align: center;
  }

  .el-dropdown-link img{
    background: #fff;
    width: 32px;
    height: 32px;
    border-radius: 20px;
    margin-left: 8px;
  }
  
  .homeWelcome{
    text-align: center;
    font-size: 30px;
    font-family: 华文楷体;
    color: #409eff;
    padding-top: 50px;
  }

  .homeRouterView{
    margin-top: 10px;
  }
</style>